﻿using TI_BLE_HCI_ClientLib.GenericHCIEntities;
using TI_BLE_HCI_ClientLib.HCIBaseEntities;

namespace TI_BLE_HCI_ClientLib.HCIEvents
{
    public class HCIEvent_GAP_Device_Init_Done : HCIVendorSpecificEvent
    {
        private HCIVendorSpecificEventHostErrorCode _status;
        private byte[] _devAddr;
        private ushort _dataPktLen;
        private byte _numDataPkt;
        private byte[] _irk;
        private byte[] _csrk;

        public HCIVendorSpecificEventHostErrorCode Status
        {
            get { return _status; }
            set { _status = value; }
        }

        public byte[] DevAddr
        {
            get { return _devAddr; }
            set { _devAddr = value; }
        }

        public ushort DataPktLen
        {
            get { return _dataPktLen; }
            set { _dataPktLen = value; }
        }

        public byte NumDataPkt
        {
            get { return _numDataPkt; }
            set { _numDataPkt = value; }
        }

        public byte[] Irk
        {
            get { return _irk; }
            set { _irk = value; }
        }

        public byte[] Csrk
        {
            get { return _csrk; }
            set { _csrk = value; }
        }

        public HCIEvent_GAP_Device_Init_Done(
            HCIVendorSpecificEventHostErrorCode status,
            byte[] devAddr,
            ushort dataPktLen,
            byte numDataPkt,
            byte[] irk,
            byte[] csrk)
            : base((ushort)HCIVendorSpecificEventEventOpcode.GAP_Device_Init_Done)
        {
            _status = status;
            _devAddr = devAddr;
            _dataPktLen = dataPktLen;
            _numDataPkt = numDataPkt;
            _irk = irk;
            _csrk = csrk;
        }
    }
}